工控網(wǎng)首頁(yè)
>

應(yīng)用設(shè)計(jì)

>

基于單片機(jī)的自然電場(chǎng)記錄器

基于單片機(jī)的自然電場(chǎng)記錄器

2007/10/29 11:39:00
自然電場(chǎng)法是利用電化學(xué)作用在周圍產(chǎn)生的自然極化電場(chǎng)進(jìn)行找礦、填圖和解決水文地質(zhì)問(wèn)題的一種被動(dòng)源電法勘探方法[1]。采用電位觀測(cè)法是觀測(cè)自然電場(chǎng)的最常用的方式。傳統(tǒng)的測(cè)量自然電場(chǎng)儀器只能測(cè)量單通道信號(hào),并且不能實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)和導(dǎo)出功能。本方案設(shè)計(jì)的自然電場(chǎng)記錄器目的在于實(shí)現(xiàn)對(duì)mV級(jí)的低頻自然電場(chǎng)信號(hào)的采集,并進(jìn)行數(shù)據(jù)顯示、存儲(chǔ)、瀏覽,以及與PC機(jī)之間的通信。 1 硬件電路設(shè)計(jì) 對(duì)于微弱的自然電場(chǎng)信號(hào),幅值處于數(shù)百微伏至數(shù)十毫伏之間,頻帶處于0.01—100Hz范圍內(nèi)。為實(shí)現(xiàn)對(duì)mV級(jí)的低頻自然電場(chǎng)信號(hào)的采集、數(shù)據(jù)存儲(chǔ)顯示、用戶按鍵操作以及與PC機(jī)串口數(shù)據(jù)傳輸?shù)裙δ埽O(shè)計(jì)出相應(yīng)的硬件電路模塊。硬件框圖如圖1所示,由DC/DC模塊、前置放大與低通模塊、A/D(AD7705)模數(shù)轉(zhuǎn)換電路、FLASH(AT45DB041)存儲(chǔ)模塊、LCD(LCM1602)顯示模塊和串口通信(MAX232)模塊六個(gè)模塊組成。
圖1圖1 硬件原理框圖
自然電場(chǎng)信號(hào)在前置放大與濾波模塊先進(jìn)行放大和抗混疊濾波,信號(hào)再進(jìn)入A/D模數(shù)轉(zhuǎn)換模塊,AD7705在單片機(jī)設(shè)置的參數(shù)控制下工作,一次采集結(jié)束數(shù)據(jù)通過(guò)LCD顯示,用戶確認(rèn)保存時(shí)AT89C51將數(shù)據(jù)寫(xiě)入至FLASH中,最后通過(guò)串口將數(shù)據(jù)導(dǎo)出至PC機(jī)中。 DC/DC模塊實(shí)現(xiàn)將電池組電壓進(jìn)行穩(wěn)壓整流,轉(zhuǎn)換成電路所需的±5V工作電壓和+2.5V參考電壓。前放采用高精密儀表放大器INA2128,INA2128是一種低漂移、高增益、高帶寬、高共模抑制比、帶內(nèi)部保護(hù)的雙通道儀表放大器[2]。外接一個(gè)電阻即可實(shí)現(xiàn)儀表放大,放大倍數(shù)可高達(dá)10000,很適合于微弱信號(hào)的處理。濾波部分實(shí)現(xiàn)為濾除工頻及高頻噪聲。濾波電路采用低功耗雙運(yùn)算放大器OPA2650,組成陷波和低通電路。鍵盤(pán)模塊實(shí)現(xiàn)單片機(jī)掃描鍵盤(pán)響應(yīng)用戶操作,實(shí)現(xiàn)用戶對(duì)采集過(guò)程的控制。LCD顯示模塊采用LCM1602液晶顯示模塊,支持5×7點(diǎn)陣和2×16字符顯示兩種模式,自帶西文字庫(kù),背光亮度和顯示對(duì)比度可調(diào)。由液晶顯示屏和內(nèi)置HD4470驅(qū)動(dòng)器兩部分組成,單片機(jī)通過(guò)寫(xiě)控制字方式訪問(wèn)驅(qū)動(dòng)器來(lái)實(shí)現(xiàn)對(duì)顯示屏的控制。串口通信模塊實(shí)現(xiàn)RS232電平與TTL電平的轉(zhuǎn)換,MAX232內(nèi)含兩個(gè)接收器和兩個(gè)發(fā)送器,單電源供電,與PC機(jī)的串口通信。下面是對(duì)A/D(AD7705)模塊和FLASH(AT45DB041)存儲(chǔ)模塊的接口電路進(jìn)行分析。 1.1 AD7705接口電路 AD7705是的兩通道、16位分辨率、內(nèi)置可編程增益放大器(范圍1~128)、支持SPI接口、可變采樣率(20Hz、25Hz、100Hz、200Hz、50Hz、60Hz、250Hz、500Hz八個(gè)檔位)、低功耗(3V工作電壓功耗為1mW)的∑-△A/D轉(zhuǎn)換器,它適用于寬動(dòng)態(tài)范圍測(cè)量、工業(yè)控制或工藝控制中的低頻信號(hào)的轉(zhuǎn)換。AD7705靈活的SPI接口使其能很容易地與大多數(shù)微處理器進(jìn)行連接,很容易構(gòu)成對(duì)采樣速率要求不高的數(shù)據(jù)采集系統(tǒng)。因此很適合低頻自然電場(chǎng)信號(hào)的測(cè)量。
圖2圖2 AD7705接口電路
AD7705 的編程功能用片內(nèi)寄存器的設(shè)置來(lái)控制。對(duì)這些寄存器的讀/ 寫(xiě)操作通過(guò)器件的串行接口來(lái)完成。AD7705提供SPI接口,在單片機(jī)的IO資源有限的情況下串行數(shù)據(jù)傳輸方式利于節(jié)省IO資源,由于AT89C51自身不帶SPI接口,通過(guò)模擬SPI時(shí)序?qū)D7705片內(nèi)寄存器進(jìn)行讀寫(xiě)操作,實(shí)現(xiàn)對(duì)AD7705工作方式的設(shè)定和數(shù)據(jù)的讀取。SPI接口由SCLK、DIN、DOUT、DRDY和CS組成,DIN 線用來(lái)向片內(nèi)寄存器傳送數(shù)據(jù),而DOUT 線用來(lái)訪問(wèn)寄存器里的數(shù)據(jù)。SCLK是串行時(shí)鐘輸入,所有的數(shù)據(jù)傳輸都和SCLK信號(hào)有關(guān)。DRDY線作為狀態(tài)信號(hào),以提示數(shù)據(jù)什么時(shí)候已準(zhǔn)備好從寄存器讀數(shù)據(jù)。輸出寄存器中有新的數(shù)據(jù)時(shí),DRDY 變?yōu)榈碗娖?。CS 是片選信號(hào),用來(lái)選擇器件。 接口電路如圖2所示,本設(shè)計(jì)中CS已固定至低電平,單片機(jī)P1.4管腳提供時(shí)鐘SCLK,在上升沿將數(shù)據(jù)通過(guò)DIN數(shù)據(jù)流寫(xiě)入寄存器。設(shè)定參數(shù)包括濾波同步、雙極性模式、緩沖模式、自校準(zhǔn)模式、時(shí)鐘選擇、增益控制和采樣率設(shè)置等。設(shè)置好寄存器啟動(dòng)采集,一次轉(zhuǎn)換結(jié)束DRDY管腳為低電平,產(chǎn)生中斷通知單片機(jī)將數(shù)據(jù)讀出,讀數(shù)據(jù)過(guò)程將由SCLK和DOUT配合實(shí)現(xiàn),上升沿DOUT數(shù)據(jù)有效,單片機(jī)讀取一次轉(zhuǎn)換數(shù)據(jù)。兩通道循環(huán)采集,直到完成用戶設(shè)定的采集次數(shù)。為提高準(zhǔn)確度和精度,采取變?cè)鲆娴霓k法,變?cè)鲆鏉M足不同的幅值信號(hào);降低基準(zhǔn)電壓;采用自校準(zhǔn)模式。 1.2 FLASH(AT45DB041)接口電路 AT45DB041是ATMEL公司帶SPI接口的串行FLASH存儲(chǔ)器。傳統(tǒng)快閃存儲(chǔ)器往往利用多條地址線和并行接口來(lái)實(shí)現(xiàn)隨機(jī)存取數(shù)據(jù),而AT45DB041則利用串行接口來(lái)實(shí)現(xiàn)連續(xù)存取數(shù)據(jù)。簡(jiǎn)單的串行接口簡(jiǎn)化了硬件電路,使線路板尺寸變小,成本降低,抗干擾能力增強(qiáng),系統(tǒng)的可靠性得以提高。AT45DB041內(nèi)部結(jié)構(gòu)圖如圖3所示,存儲(chǔ)空間為其4Mbit,分為2048頁(yè),每頁(yè)264個(gè)字節(jié);除主存儲(chǔ)頁(yè)外,還包含2個(gè)SRAM數(shù)據(jù)緩沖區(qū),每個(gè)區(qū)的容量均為264個(gè)字節(jié)。數(shù)據(jù)可以直接寫(xiě)入主存, 也可以先寫(xiě)入Buffer , 然后再將Buffer 的數(shù)據(jù)整個(gè)復(fù)制到主存的某一頁(yè), 也可以在主存正處于編程時(shí)將數(shù)據(jù)寫(xiě)入Buffer。本設(shè)計(jì)方案中一個(gè)站點(diǎn)采集雙通道,單通道采樣100次,一次2字節(jié),一次電位差數(shù)據(jù)大約占用一頁(yè),一次雙通道采集占用兩頁(yè),所以一共可容納1024次記錄。
圖3圖3 AT45DB041內(nèi)部結(jié)構(gòu)圖
通過(guò)單片機(jī)模擬SPI接口時(shí)序完成對(duì)AT45DB041中數(shù)據(jù)的讀寫(xiě)操作,當(dāng)芯片使能腳CS為低電平時(shí),在時(shí)鐘輸入腳(SCK)的控制下,通過(guò)串行數(shù)據(jù)輸入腳(SI),便可將命令碼、主存儲(chǔ)頁(yè)或緩沖區(qū)地址碼串行輸入,然后即可寫(xiě)入數(shù)據(jù)。讀數(shù)據(jù)過(guò)程不同在于寫(xiě)入讀操作命令碼及數(shù)據(jù)地址后,單片機(jī)通過(guò)SO管腳讀出數(shù)據(jù)。需注意的是,所有的命令碼、地址、數(shù)據(jù)串行輸入時(shí),均是高位在前,低位在后。當(dāng)寫(xiě)保護(hù)腳(WP)為低電平時(shí),主存儲(chǔ)頁(yè)的前256頁(yè)不能寫(xiě)入數(shù)據(jù)。當(dāng)復(fù)位腳(RESET)變?yōu)榈碗娖綍r(shí),將中斷所有正在進(jìn)行的讀操作,并將內(nèi)部置成空閑狀態(tài)。一旦該腳變?yōu)楦唠娖剑纯蓪?duì)芯片進(jìn)行正常的讀寫(xiě)操作。 數(shù)據(jù)的讀出包括主存儲(chǔ)頁(yè)直接讀出、從主存儲(chǔ)頁(yè)讀取數(shù)據(jù)至緩沖區(qū)、從緩沖區(qū)讀數(shù)據(jù)、讀狀態(tài)寄存器等四種。除命令碼不同外,讀取的方法均大同小異,下面只介紹將從主存儲(chǔ)頁(yè)直接讀出數(shù)據(jù)的方法。主存儲(chǔ)頁(yè)讀允許用戶從2048主存儲(chǔ)頁(yè)的任一頁(yè)中讀取數(shù)據(jù),在SCK 時(shí)鐘脈沖的控制下,先串行輸入命令碼(51H)、緊接著是4個(gè)保留位、然后是20 個(gè)地址位(即11個(gè)頁(yè)地址位和9個(gè)頁(yè)中數(shù)據(jù)起始地址位)、最后是32個(gè)無(wú)關(guān)位。4個(gè)保留位是用于將來(lái)擴(kuò)展該芯片的容量而設(shè)置的,對(duì)于AT45DB041 可輸入4 個(gè)0,32個(gè)無(wú)關(guān)位用于初始化讀操作。數(shù)據(jù)通過(guò)SO腳串行輸出,在數(shù)據(jù)的讀出過(guò)程中,芯片使能腳必須保持低電平,當(dāng)一頁(yè)數(shù)據(jù)的最后一個(gè)字節(jié)讀完后,會(huì)從該頁(yè)的第一個(gè)字節(jié)開(kāi)始繼續(xù)讀取數(shù)據(jù)。當(dāng)芯片使能腳(CS)由低電平變?yōu)楦唠娖綍r(shí),將終止數(shù)據(jù)的讀取,SO腳保持高阻態(tài)。 2 軟件程序設(shè)計(jì)
圖4圖4 軟件設(shè)計(jì)框架圖
圖4描述了軟件設(shè)計(jì)的總體框架,儀器的軟件實(shí)現(xiàn)包括兩部分,單片機(jī)控制程序和上位機(jī)的通信數(shù)據(jù)預(yù)處理程序。單片機(jī)控制程序在KEILC51集成開(kāi)發(fā)環(huán)境下進(jìn)行,主要實(shí)現(xiàn)采集主程序、AD7705轉(zhuǎn)換控制程序、AT45DB041讀寫(xiě)程序、鍵盤(pán)掃描程序、與上位機(jī)串口通信接發(fā)數(shù)據(jù)程序和LCD字符顯示程序。上位機(jī)軟件在VC環(huán)境下進(jìn)行,通過(guò)與下位機(jī)的串口通信程序,將數(shù)據(jù)從儀器中導(dǎo)出,并實(shí)現(xiàn)數(shù)據(jù)瀏覽、極差校正、數(shù)據(jù)繪圖等自然電場(chǎng)數(shù)據(jù)預(yù)處理功能。 2.1 單片機(jī)程序
圖5 采集主程序流程 這里舉例采集主程序[3]和串口通信程序[4]。采集主程序流程如圖5所示:初始化包括LCD顯示詢問(wèn)用戶開(kāi)始采集數(shù)據(jù)是否還是與導(dǎo)出數(shù)據(jù);按下確定鍵則按預(yù)設(shè)的采集參數(shù)啟動(dòng)采集,按取消鍵則與上位機(jī)進(jìn)行通信導(dǎo)出數(shù)據(jù);啟動(dòng)采集后AD7705兩通道先后各采集100次,采集結(jié)束后求均值顯示自然電場(chǎng)值,提示用戶保存數(shù)據(jù),按下確定數(shù)據(jù)保存至FLASH中,再詢問(wèn)是否開(kāi)始一次新的采集,按下確定鍵開(kāi)始一次新的采集;按下取消鍵結(jié)束操作。 串口通信程序?qū)崿F(xiàn)與PC機(jī)間傳輸數(shù)據(jù)功能,單片機(jī)串口設(shè)定為工作方式1,波特率設(shè)置為19200,8位數(shù)據(jù)位、無(wú)奇偶校驗(yàn)。圖6所示,需要導(dǎo)出數(shù)據(jù)時(shí),上電后用戶進(jìn)入通信狀態(tài)等待PC機(jī)發(fā)送命令,當(dāng)接收到命令申請(qǐng)串口中斷,一次從FLASH起始地址讀取十字節(jié)數(shù)據(jù),發(fā)送至PC機(jī),等待PC機(jī)的接收,上位機(jī)一次接收完成后,再向單片機(jī)發(fā)送命令,循環(huán)進(jìn)行直到接收用戶預(yù)設(shè)的記錄點(diǎn)數(shù)為止。
圖6 串口通信示意圖 3 測(cè)試數(shù)據(jù)與結(jié)論 3.1 野外實(shí)測(cè)數(shù)據(jù) 為驗(yàn)證儀器的靈敏度和精確度,室內(nèi)先進(jìn)行雙通道的一致性測(cè)試和重復(fù)性測(cè)試,與標(biāo)準(zhǔn)信號(hào)源的對(duì)比。室內(nèi)試驗(yàn)通過(guò)后在內(nèi)蒙古東烏旗道特蘇木西南(N 45°38´03.0",E 118°00´00.0")——(N 45°21´52.9",E 117°59´59.9")進(jìn)行了點(diǎn)距為50米的600點(diǎn)測(cè)量,測(cè)線長(zhǎng)度30Km。各個(gè)野外測(cè)量布站示意如圖7所示,一個(gè)站點(diǎn)采集兩通道△U1和△U2數(shù)據(jù)。
圖7 野外測(cè)量布站示意圖 數(shù)據(jù)記錄未進(jìn)行極差校正的測(cè)線剖面圖如圖8所示。
圖8內(nèi)蒙東烏旗地區(qū)3線自然電位觀測(cè)曲線 3.2 結(jié)論 自然電場(chǎng)記錄器硬件由DC/DC模塊、前置放大與低通模塊、A/D(AD7705)模數(shù)轉(zhuǎn)換電路、FLASH(AT45DB0
投訴建議

提交

查看更多評(píng)論
其他資訊

查看更多

基于AVR與LabVIEW的大地電磁采集器設(shè)計(jì)